package com.mouliu.base.syn08;


import java.util.concurrent.atomic.AtomicInteger;

/**
 * volatile关键字不具备synchronized关键字的原子性（同步）
 * @author liu.mou
 */
public class VolatileNoAtomic extends Thread{
    private static AtomicInteger count = new AtomicInteger(0);
    private static void addCount(){
        for (int i=0;i<1000;i++){
            count.incrementAndGet();
        }
        System.out.println(count);
    }
    @Override
    public void run(){
        addCount();
    }
    public static void main(String[] args){
        VolatileNoAtomic[] arr = new VolatileNoAtomic[100];
        for (int i=0;i<10;i++){
            arr[i] = new VolatileNoAtomic();
        }
        for (int i=0;i<10;i++){
            arr[i].start();
        }
    }
}
